/**
 * 
 */
package com.nari.interfaces.service;

import java.util.List;

import com.nari.interfaces.decipher.gprs.vo.ClientHost;
import com.nari.interfaces.decipher.gprs.vo.UploadMeterDataSeal;
import com.nari.interfaces.model.IMissionFailureLog;

/**
 * 
 * @author Xiaopeng
 * @date 2013-11-4
 */
public interface IInterfacesHandlerService {
	
	/**
	 * 记录数据抄收异常日志
	 * @param frameDecoderLogList
	 * @param clientHost
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2015-2-6
	 */
	public void saveMissionExceptionLog(List<IMissionFailureLog> frameDecoderLogList, 
			ClientHost clientHost) throws Exception;
	
	/**
	 * 记录系统异常日志
	 * @param systemLog
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2014-6-19
	 */
	public void saveSystemExceptionLog(IMissionFailureLog systemLog) throws Exception;
	
	/**
	 * 保存接口上传的数据列表
	 * @param meterDataSeal
	 * @param clientHost
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-11
	 */
	public void saveUploadMeterDatas(UploadMeterDataSeal meterDataSeal, 
			ClientHost clientHost) throws Exception;

	/**
	 * 缓存接口上传任务批次数据
	 * @param meterDataSeal
	 * @param clientHost
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-12
	 */
	public void saveOrUpdateBufferedMeterDataSeal(UploadMeterDataSeal meterDataSeal, 
			ClientHost clientHost) throws Exception;
	
	/**
	 * 查询接口上传任务批次数据
	 * @param concentratorNo
	 * @param recordTime
	 * @return
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-12
	 */
	public UploadMeterDataSeal queryBufferedMeterDataSeal(String concentratorNo, 
			String recordTime) throws Exception;
	
	/**
	 * 删除接口上传任务批次数据
	 * @param uploadMissionState
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-12
	 */
	public void deleteMissionStateDataByMark(String concentratorNo, String recordTime) throws Exception;
}
